package com.yidu.dao;

import java.util.List;
import java.util.Map;

import com.yidu.action.vo.StatisticsVo;
import com.yidu.domain.ListenFinance;
import com.yidu.domain.ListenSell;
import com.yidu.domain.ListenStock;

public interface ListenSellMapper {
    int deleteByPrimaryKey(String sellId);

    int insert(ListenSell record);

    int insertSelective(ListenSell record);

    ListenSell selectByPrimaryKey(String sellId);

    int updateByPrimaryKeySelective(ListenSell record);

    int updateByPrimaryKey(ListenSell record);
    
    
    /**
     * 销售查询分页
     * @param map
     * @return
     */
    List<ListenSell> selectAll(Map<String, Object> map);
    

    /**
     * 财务审核查询分页
     * @param map
     * @return
     */
    List<ListenSell> selectAdiut(Map<String, Object> map);
    
    
    /**
     * 总经理审核查询分页
     * @param map
     * @return
     */
    List<ListenSell> selectManager(Map<String, Object> map);
    
    /**
     * 查询销售总行数
     * @param map
     * @return
     */
    int selectAllCount(Map<String, Object> map );
    
    /**
     * 财务审核查询总行数
     * @param map
     * @return
     */
    int selectAllStateCount(Map<String, Object> map );
    
    /**
     * 总经理审核查询总行数
     * @param map
     * @return
     */
    int selectManagerCount(Map<String, Object> map );
    
    /**
     * 查询库存是否足够
     * @param sellId
     * @return
     */
    List<ListenSell> findByMusicalNumber(String sellId);
    
    /**
     * 添加库存数量
     * @param listenStock
     * @return
     */
    int updateAddNumber(ListenStock listenStock);
    

    /**
     * 减少库存数量
     * @param listenStock
     * @return
     */
    int updateMinusNumber(ListenStock listenStock);
    
    /**
     * 添加公司财务
     * @param finance
     * @return
     */
    int updateAddMoney(ListenFinance finance);
    
    /**
     * 减少公司财务
     * @param finance
     * @return
     */
    int updateMinusMoney(ListenFinance finance);
    /**
     * 查询审核通过的订单
     * @param map
     * @return
     */
    List<ListenSell> selectReturn(Map<String, Object> map);
    
    /**
     * 查询审核通过的订单的总行数
     * @param map
     * @return
     */
    int selectReturnCount(Map<String, Object> map);
}